08 - Oświetlacze

Wprowadzenie do Systemów Wizyjnych

Politechnika Poznańska, Instytut Robotyki i Inteligencji Maszynowej

Ćwiczenie laboratoryjne 8: oświetlenie

Powrót do spisu treści ćwiczeń laboratoryjnych

Wstęp

Dodatkowe i dostosowane do zadania oświetlenie jest częstym rozwiązaniem przy wykorzystywaniu systemów wizyjnych w obszarze przemysłowym (ang. Machine Vision). Zastosowanie odpowiedniego typu oświetlacza pozwala uzyskać z obrazu istotne informacje związane z zadaniami takimi, jak kontrola jakości, detekcja uszkodzeń, rozpoznawanie i klasyfikacja elementów, a także ich kształtów oraz konturów. Najczęściej wykorzystywanymi typami oświetlaczy są:

Pierścieniowe (ring light)

Zadaniem oświetlaczy typu pierścieniowego jest przede wszystkim inspekcja powierzchni płaskich z wykorzystaniem zjawiska odbicia rozproszonego (promień padający na powierzchnię jest rozpraszany pod wieloma kątami) co przekłada się na zastosowanie w kontroli jakości polegającej na wykrywaniu defektów na powierzchni (np. zarysowań).



Pierścieniowe ciemnego pola (dark field light)

Oświetlacze tego typu poprzez zastosowanie światła emitowanego pod niewielkim kątem wykorzystywane są do wzmocnienia kontrastu pomiędzy cechami obiektu, występującymi na jego powierzchni, co ułatwia rozpoznanie poszczególnych występujących elementów. Zastosowaniem tego typu urządzeń jest detekcja krawędzi, konturów oraz występujących na powierzchni defektów.


Kopułkowe / tunelowe (dome / tunnel light)

Podstawową zaletą oświetlaczy kopułkowych jest zapewnienie bezcieniowego oświetlenia, które przydatne jest w rozwiązaniach z zakresu: - inspekcji lustrzanych i rozpraszających światło obiektów, - optycznego rozpoznawania znaków (OCR), - kontroli etykiet oraz nadruków.

Tylne (back light)

Głównym zadaniem oświetlaczy tego typu jest podkreślenie konturów płaskich obiektów co wykorzystywane jest przy precyzyjnych pomiarach takich jak: - określanie zewnętrznych wymiarów obiektu, - detekcja elementów, - wykrywanie otworów.

Współosiowe (coaxial light)

Zadaniem oświetlaczy współosiowych jest oświetlanie powierzchni odbijających światło w tym celu wykorzystują rozpraszacz wiązki lub zwierciadło półprzezroczyste zmieniające kierunek światła ze źródła tak, aby padało ono na obiekt równolegle do osi optycznej kamery. Ta technika stosowana jest do kontroli obwodów drukowanych (PCB), odblaskowych etykiet lub kontroli druku.


RGB

Oświetlacze kolorowe (RGB) stosowane są zazwyczaj w momencie, gdy obrabiane przedmioty mają taki sam kształt i rozmiar, a rozróżnia je kolor.




Podczas zajęć wykorzystywane będą oświetlacze firmy LATAB, oświetlacze RGB firmy Ulanzi oraz namiot bezcieniowy firmy Puluz.

Zadanie wstępne

Zapoznaj się z zasadami obsługi sterownika oświetlaczy przemysłowych firmy LATAB i przetestuj dostępne oświetlacze.

Informacja o środowisku wirtualnym

UWAGA Ta instrukcja wymaga systemu operacyjnego Ubuntu oraz zainstalowanych dodatkowych bibliotek (Tesseract OCR).

Zadania do samodzielnej realizacji

import cv2


def camera():
    """Camera capture."""

    cap = cv2.VideoCapture(2)

    while True:
        ret, frame = cap.read()
        if not ret:
            print("Cannot connect to the camera.")
            break

        cv2.imshow("camera capture", frame)

        if cv2.waitKey(10) == ord('q'):
            break


if __name__ == '__main__':
    camera()
  1. Przy pomocy oświetlacza pierścieniowego ciemnego pola przygotuj aplikację do wykrywania krawędzi. W tym celu:

Na rysunku poniżej przedstawiony został oświetlacz typu dark field oraz efekt końcowy działania algorytmu. Porównaj otrzymany rezultat z obrazem otrzymanym bez włączonego oświetlacza pierścieniowego ciemnego pola.

  1. Korzystając z oświetlenia tylengo przygotuj aplikację do detekcji otworów. W tym celu:

Poniższe rysunki przedstawiają dostępne oświetlacze tylne oraz oczekiwane rozwiązanie zadania.

  1. Wykorzystując namiot bezcieniowy, oświetlacze RGB oraz plansze zbadaj wpływ zmiany barwy oświetlenia LED na wyjściowy obraz. Na zdjęciu w skali szarości wyróżnij każdą z barw oraz zanotuj wartości dla których odpowiednie znaczniki najlepiej się odróżniają. Poniższy przykład przedstawia rezultat wyróżniający barwę czerwoną (zdjęcia kolejno to: oryginał, obraz w skali szarości bez oświetlenia oraz przy odpowiednim oświetleniu).

Zadanie dodatkowe

Korzystając z przygotowanego skryptu serial_numbers_recognition.py, który zawiera w sobie implementację Tesseract OCR, czyli silnika do optycznego rozpoznawania znaków, dobierz odpowiedni typ oświetlacza, który pozwoli na rozpoznawanie numerów seryjnych dostępnych na spodzie puszek po napojach. Poniżej przedstawione zostało porównanie podglądu spodu jednej z puszek bez wykorzystania dodatkowego oświetlacza oraz przy odpowiednim oświetleniu.

Przykładowe wyniki dla detekcji numerów i cyfr wyglądają następująco:


Detected text:
['24', '122021', '2']




Detected text:
['.5.202421', '23.09.']